package com.wicket.okrcomponent.biz.service.dto.common;

import com.wicket.okrcomponent.common.dto.BaseDto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import javax.validation.constraints.NotNull;
import lombok.Data;
import java.util.Objects;

/**
 * @desc MessageNumLoopStartDto
 * @使用场景
 */
@Data
public class MessageNumLoopStartDto extends BaseDto implements Serializable {

  /**
   * 身份人员ID
   */
  @ApiModelProperty("身份人员ID")
  private String originalRoleMemberId;

  /**
   * 账号
   */
  @ApiModelProperty("账号")
  private String userId;

  /**
   * 创建于空间ID
   */
  @ApiModelProperty("创建于空间ID")
  private String spaceId;

  /**
   * 创建于联盟应用ID
   */
  @ApiModelProperty("创建于联盟应用ID")
  private String appId;
/**
     * 消息位置标识 
     */
    @ApiModelProperty("消息位置标识")
    private String	 messageLocationTypeCode;

    /**
     * 消息数量主体类型 INDUCTION_RECORD:就职记录 ORIGINAL_ROLE_MEMBER:身份人员 ORG_OR_DEPT:组织部门 MEMBER_CHANNEL_RELATION:成员通道
     */
    @ApiModelProperty("消息数量主体类型")
    private String	 msgNumberSubjectType;

    /**
     * 消息数量主体ID 
     */
    @ApiModelProperty("消息数量主体ID")
    private String	 msgNumberSubjectId;
/**
     * 消息数量ID 
     */
    @ApiModelProperty("消息数量ID")
    private String	 messageLocationRemindId;

    /**
     * 消息数 
     */
    @ApiModelProperty("消息数")
    private Long	 messageNum;
/**
     * 归属内容类型编码 INDUCTION_RECORD:就职记录 ORIGINAL_ROLE_MEMBER:身份人员 ORG_OR_DEPT:组织部门 MEMBER_CHANNEL_RELATION:成员通道 OMS_EVALUATION_TEMPLATE:评价模板
     */
    @ApiModelProperty("归属内容类型编码")
    private String	 surfaceCode;

    /**
     * 归属内容ID
     */
    @ApiModelProperty("归属内容ID")
    private String	 entityId;
@Override
  public boolean equals(Object o) {
      if (this == o) return true;
      if (o == null || getClass() != o.getClass()) return false;
      if (!super.equals(o)) return false;
      MessageNumLoopStartDto that = (MessageNumLoopStartDto) o;
      return  originalRoleMemberId == that.originalRoleMemberId&&userId == that.userId&&spaceId == that.spaceId&&appId == that.appId&&messageLocationTypeCode == that.messageLocationTypeCode&&msgNumberSubjectType == that.msgNumberSubjectType&&msgNumberSubjectId == that.msgNumberSubjectId&&messageLocationRemindId == that.messageLocationRemindId&&messageNum == that.messageNum&&surfaceCode == that.surfaceCode&&entityId == that.entityId;
    }
@Override
  public int hashCode() {
      return Objects.hash(super.hashCode(), originalRoleMemberId,userId,spaceId,appId,messageLocationTypeCode,msgNumberSubjectType,msgNumberSubjectId,messageLocationRemindId,messageNum,surfaceCode,entityId);
    }

}
